#include <iostream>
#include <string>
#include "backward.hpp"
// #include "backward-cpp/backward.hpp"

// using namespace backward;

// void cal_test(void)
// {
//     int n = 0;
//     int m = 10;
//     m = m / n;
// }

// int main()
// {

//     cal_test();
// }

using namespace backward;

void collect_trace(StackTrace &st) { st.load_here(); }

int main()
{
  Printer printer;

  StackTrace st;
  collect_trace(st);

  printer.print(st, std::cout);
}

// void d(StackTrace &st) { st.load_here(); }

// void c(StackTrace &st) { return d(st); }

// void b(StackTrace &st) { return c(st); }

// NOINLINE void a(StackTrace &st) { return b(st); }

// TEST(smalltrace) {
//   Printer printer;

//   StackTrace st;
//   a(st);

//   printer.print(st, std::cout);
// }